<script type="text/md" id="contentid">
<h2 align="center">子弹笔记</h2>

## 未来计划
- [任务] 阅读门罗币源码
- [任务] 关注ipad pro M1
- [任务] 做一个猫的喂食器
- [任务] 做一个低成本的电子看板，最低成本能到什么程度呢？
- [任务] 做一个看板工具(10英寸墨水屏幕 1000 + 树莓派4B 400) 价格1500元
- [任务] 完成mac电脑版本的番茄时钟，配合网易云音乐的，稳定版本，并开源
- [任务] 完成一个webvr版本的可视化驾驶舱
- [任务] 整理一波所有的笔记

## 目录
- [2021/04/18](2021/04/18)  
- [2021/04/19](#2021/04/19)    
- [2021/04/20](#2021/04/20)  

### <a id="2021/04/18"></a>2021/04/18

#### - 早会

#### - 笔记
- [想法] 终于找到耳机的正确打开方式了，蓝牙耳机一直戴在耳朵上，并且单独给手机使用，这个时候随时听音乐，而不用连接电脑了。  
- [想法] 实在是太棒了，html—doc 工作流，用浏览器也能编辑
  - html-doc 使用的工具 html模版，+ 腾讯云cos + cosbrowser
  - cosbrowser 有mac/windows/linux客户端 还有网页端和android/ios手机端，这些端的使用体验都不错
  - html-doc 结构必须极致简单，仅有一个html文件，没有数据库，数据用json格式在html文件中保存
  - 可以方便的做统计，二次处理  
  
- [想法] 业务还得做BIM应用，VR的BIM应用
- [想法] 使用台电820多元的平板电脑作为电子看板。另外一个方案用树莓派+显示屏作为电子看板  
- [想法] 既然要作为看板，显示器必须要大，大，大  
- [想法] 最好还是用平板+挂墙工具，平板可以选14寸的，专门做电子看板用

### <a id="2021/04/19"></a>2021/04/19

#### 早会

- 上周：能耗/修复building  

- 本周：  

- 会议：  
  - 安全
  - 用github做重要文件的版本控制，excel在git上也很难比较，htmldoc 方便比较数据
  - 德国团队有很多teams
  - 持续维护bu的方案怎么解决
  - 授权表，做一个矩阵，授权矩阵
  - cost数据 小数点1位，整数后面不需要小数点
  
  - 本周：能耗数据对接/ 电梯和设备的标注/ 接入电梯 / cost标注暂时不用做
  - cost bu标注问题，暂时解决方式，暂无数据
  - 每年的模型都不一样，有不同的厂
  - 明天下午迁移电梯3D
  - 电梯 物联网盒子不问题，直梯还比较稳定，扶梯不稳定，（计划：能够连通，但是用模拟数据）

[任务] 花两三个小时，了解一下买卖比特币和挖矿
  - 怎没卖？
  - 怎么买？
  - 怎么挖？
  - 比特币与以太坊哪个好？
  - [M1上如何挖矿](https://www.huxiu.com/article/412184.html)
  - [M1的挖矿github链接](https://github.com/gyf304/ethminer-m1)

- [想法] 通过猫打乱行程，终于深刻体会到什么是死亡线了
- [技术] threejs 四元数 [threejs四元数](https://zhuanlan.zhihu.com/p/31516529)
- [技术] [Cesium是如何进行优化的](https://zhuanlan.zhihu.com/p/31516529)
- [技术] 终于掌握了四元数的诀窍，把 blender 和 threejs 的xyz做一致，然后 在blender中旋转，之后直接获取blender中的四元数给blender
```
    const kquaternion = new THREE.Quaternion(-0.5, 0.5, 0.5, 0.5);
    this.aplane.applyQuaternion(kquaternion);
```

- [技术] 很牛的forge 的demo [Customizable UI Dashboard with gridstack](https://forge-stacks.herokuapp.com/#)

#### <a id="2021/04/20"></a>2021/04/20

- 昨天  
    - 接入能耗数据，优化

- 会议  
    - building, cost 问题，
    - 接入电梯3d
    - 数据完整度和质量的指标
    - cici：后台点位（给监控点位图）
    - 增加发通知邮件（发信方）
    - [任务] 电梯api换了
    - 数据整理，交互的时候，生成csv

- [任务][完成]第一次购买比特币
- [想法]做一个VR培训的框架
- [想法]总结现在能做的引擎
- [技能]获取html-doc中的数值，做数据分析，可以使用puppeteer，以下为代码
```
const puppeteer = require("puppeteer");

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto("https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E4%B8%AA%E4%BA%BA%E8%AE%B0%E8%B4%A6.html");

    const dimensions = await page.evaluate(() => {
        // 在这里可以进行DOM操作
        console.log("window", window);
        return {
          width: document.documentElement.clientWidth,
          height: document.documentElement.clientHeight,
          deviceScaleFactor: window.devicePixelRatio
        };
    });
    
    const window = await page.evaluate(() => {
        // 在这里可以进行DOM操作
        console.log("window", window);
        return {
            dataSet:window.dataSet
        };
    });
    console.log('window:', window);
    
    await browser.close();
})()
```

* [想法] 我现在能经营下去的就是，定位图形开发工作室（业务 threejs，forge，cesium / 三维可视化，BIM，GIS，webvr）不要好高骛远，现在做不了那么大的产品
在这个过程中，不断的做原形产品，找投资人
* [想法] 一段时间内要完成（可检验的完成）一件具体的事情（比如一个VR项目，一个threejs项目, 看一本书，要做就要做完，并做记录），不要杂念碎念太多
* [想法] 我靠，我错怪笔记本了，原来是耳机的问题，而不是笔记本的问题 
* [技能] 了解到了一个用js 做ppt的库 [impress](https://github.com/impress/impress.js)
* [技能] 试验成功M1挖矿，[教程](https://www.bilibili.com/video/BV13p4y1W7HD?from=search&seid=13426255250058768317) [github](https://github.com/xmrig/xmrig)
* [事件] 第一次挖加密货币，门罗币 ，以下是挖矿记录
    - ![挖矿记录](https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E5%9B%BE%E5%BA%8A/%E6%88%AA%E5%B1%8F2021-04-21%20%E4%B8%8A%E5%8D%887.03.42.png =800x600)

#### <a id="2021/04/21"></a>2021/04/21

- [X] 继续优化htmldoc，增加了基于 impressed ppt模版，增加了 echarts 模版
- [事件] 苹果发布4款产品，都不是特别的喜欢吧，M1
- [想法] 提高睡眠质量的方法，卧室不要放任何电子产品，只能睡觉，买一个传统闹钟（如何阻止电子产品放卧室？）  
- 早会
    - 昨天
        - 电梯模块的3d嵌入系统
    - 今天
        - 优化一下能耗的样式
    - 会议
        
- [想法] 我需不需要买一台ipad pro呢？不够激动，再等等吧
- [任务] 买一个洛阳办公室用的办公椅
- [想法] 试验一下用手机作为电子实时看板(有潜力啊)
- [技能][门罗币]终于知道怎么查看我挖了多少矿了
    - 首先进入[门罗币官网](https://minexmr.com/)
    - 进入dashboard，输入自己的钱包地址，点击搜索
    - ![挖矿数据](https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E5%9B%BE%E5%BA%8A/%E6%88%AA%E5%B1%8F2021-04-21%20%E4%B8%8B%E5%8D%881.37.37.png =800x600)

- [事件] 我奶埋葬
- [想法] 我的知识技能全都散落在我电脑里面，我必须整理起来
- [技能] echart 做为canvas
- [想法] 以后定投以太坊，每天挖门罗币
- [事件] 给樊俊杰webgis引擎的资料, 以及部署引擎
    - ```
    • 使用 3d tiles格式流加载各种不同的 3d 数据，包含 倾斜摄影、人工模型、 三维建筑物、CAD、BIM，点云数据等。 并支持样式配置和用户交互操作。 并支持样式配置和用户交互操作
    • 全球高精度地形数据可视化，支持夸张效果、以及可编程实现的等高线和坡度分析效果。
    • 支持多种资源的图像层，包括 WMS，TMS， WMTS以及时序图像。支持透明度叠加， 亮度、对比度、GAMMA、色调、饱和度都可以动态调整。支持图像的卷帘对比。
    • 支持标准的矢量格式 KML 、GeoJSON、TopoJSON， 以及矢量的贴地效果。
    • 三维模型支持 gltf2.0 标准的 PBR 材质、动画蒙皮和 和 变形效果。 贴地以及高亮
    • 使用 CZML 支持动态时序数据的展示。
    • 支持各种几何体：点、 线、面、标注、公告牌、立方球、椭球体、圆柱走廊 (corridors)、管径、墙体
    • 可视化效果包括：基于太阳位置的阴影、自身阴影，柔和阴影。
    • 大气、雾、太阳、阳光、月亮、星星、水面。
    • 粒子特效：烟、火花。
    • 地形、 模型3d tiles模型的面裁剪。
    • 对象点选和地形点选。
    • 支持鼠标和触摸操作的缩放、 渲染、惯性平移、飞行、任意视角、地形碰撞检测。
    • 支持 3d 地球、 2d 地图、 2.5d 哥伦布模式。 3d 视图可以使用透视和正视两种投影方式。
    • 支持点、标注公告牌的聚集效果。
    • 测量和注释，测量距离和面积, 并向3d 地图添加注释。
    测量包
    包括：
    测量工具
    剪裁平面编辑器
    转换编辑器
    测量工具
    以任何比例精确测量任何物体或多个物体之间的距离，无论是测量桥梁的高度、从无人机到地面的距离，还是徒步旅行路线的长度。
    任意两点之间的距离，可选择水平和垂直锁定
    高于地形点的高度
    多边形面积测量
    任意点的纬度、经度、高度和坡度
    剪裁平面编辑器：
    添加和配置剪裁平面以显示内部或检查由结构或地形遮挡的数据。
    视域包
    包括：
    测量工具
    剪裁平面编辑器
    变换编辑器
    传感器几何和可见性分析工具
    其他几何图形
    传感器几何和可见性分析工具
    有效地了解传感器可视性对无人机，卫星，自动驾驶车辆或任何静止或移动物体的影响。
    GPU加速的视线，视域和可见性分析
    多种传感器几何形状，包括锥形，矩形和圆顶
    定制传感器几何形状
    其他几何图形
    可视化其他静态和动态3D形
    • 样式和查询，使用数据的属性来设置模型的样式并探索您的世界。
    • 执行分析，使用 cesium 的3d 分析执行3d 地理空间分析, 使您能够评估3d 地图中任何点的上下文。
    • 查看随时间变化，一流的时间动态模拟和4d 可视化支持。
    ```
- [任务] 展示三维可视化项目的录制视频
- [想法] 做一个项目,[喂食器](https://mp.weixin.qq.com/s?__biz=MzIzOTg5MjE1Mw==&idx=1&mid=2247483689&sn=3177cf0305edce407454c3aedef9c1dc&st=0F8DAD163EA220D6717F288290535A02BAC3CFA39FEAEF247576373F0F8CF38700727823AFCAEEECAA8972CE429803264C504F61E7AF17E5C49B1BD8392A6D5BBEA7F36EA340D1C0748DB6ED38D56668BD5A09D6C702B88520386797F2206FF583CCCD196FB4BEB66D85AC4BF5DBB9DF6F9999C713D1151FB79F642D9336CB311ED468CEEEAEB1B471279F8F836031E5856EB5D7EFBDC8CF2E286FD46D70A7A5BA75F0DAA18133CC20C0FFD61B24DBF8&vid=1688850708803972&cst=42995656C69CEDF319BCD6E7AFB582563873B9539EF6CEECFF9C7B7ADE57F907D0FA6CF7DA600429E9616C71861660F6&deviceid=cfe84e1a-ca39-44ea-973c-932a173e09d8&version=3.1.2.6203&platform=mac)
- [想法] 我特别想做结合3d打印+硬件开发板+编程+3d的项目,一个又一个的，并且做视频
- [想法] 我要找一个大副作为员工，团队中的一员大副
- [想法] 打卡模版需要具备以下几个要素
    - 日历，每日的打卡情况
    - 今日的打卡情况
    - 距离目标时间还剩下多少进度 进度条
    - 已经连续几天没有打卡了
    - 打卡的图片
- [想法] ipad pro m1 没有一个前所未有的体验，不像VR有一种前所未有的体验。笔记本电脑和手机都能体验，虽然体验差一点，但是还能体验，所以我应该不会买
- [想法] 手机不能作为可视化屏，总是收到干扰
- [想法] 低多巴胺工作法：如果你在一个没有压迫的时候，大脑会选择对它来说的better choice，而非对你有益的选择，所以你要降低你周围的多巴胺，让你觉得原本没意思的东西，变得有意思一点。有两个途径
    - 1.增加压迫感
        - 1.直播
        - 2.deadline
        - 3.有人看管
    - 2.降低多巴胺
        - 1.锁掉手机
        - 2.禁用其他网页
- [想法] 做3d场景设计，功能的估计时间 要乘以3倍，功能：改设计：优化，都要耗费很多时间
- [任务X] 樊俊杰让分析文档
    - 完成，交付文档 
    - [page](https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E6%96%87%E6%A1%A3/%E6%95%B0%E5%AD%97%E5%9C%B0%E7%90%83-%E5%88%86%E6%9E%90.pages)
    - [docx](https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E6%96%87%E6%A1%A3/%E6%95%B0%E5%AD%97%E5%9C%B0%E7%90%83-%E5%88%86%E6%9E%90.docx)
- [任务][BM] 樊俊杰给了能耗文档
    - [execl](https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E6%96%87%E6%A1%A3/OPC%E8%AF%BB%E6%95%B0.xlsx)


#### <a id="2021/04/22"></a>2021/04/22

- [想法] 打卡统计记录成时间消费, 
    - 把电脑app/手机app/vr app的时间全部统计来
    - 把骑行时间统计进来（交通时间，哈喽单车和导航）
    - 吃饭时间统计进来 （吃饭的付款，吃饭的结束时间）
    - 睡觉的时间统计进来 
    - 打卡的时间（看书/英文）
    - 番茄钟的时间
- [想法] 公司的统计也分为财务报表和时间消费
    - 财务报表：数据统计
    - 时间消费：注意力管理，项目管理

- [想法] 任何一个应用，都从最简单的html页面开始，降低心智负担，而不要一开始就启动一个项目。会让人拖延

- 早会
    - 昨日
        - 能耗样式改完
        - 能耗2级电表的标注板
        - 电梯设备标注采集
    - 今日
        - 电梯的3d标注
        - 地球文档分析

- [想法] 也可以使用git或者gitee管理编辑呢，尝试一下
- [想法] html-doc 有个缺点，整理的时候报错了怎么办？普通用户怎么可能会调试，或许只能面向于程序员吧
- [想法] 买一个好椅子，不如买一个站立办公桌呢，考虑一下
- [想法] 学程序初，对设计模式特别感兴趣，但是时间久了以后，就特别不屑。类，设计模式，抽象 都是java的一套东西，刚开始很流行，因为刚开始处于大规模程序员开发一个项目。三五十人，上百人在一个项目工程里面协作。
随着程序发展，这种开发方式开始被摒弃，开始小规模，短平快，低耦合，微服务盛行，一个小的团队不超过10人。所有短平快的语言开始流行，比如 c语言，python，js。js的发展史正好印证了这一点。起初只是一个脚本，后来生态越来
越像c#，java，流行ts，angularjs.后来开始转向python的简洁，别管什么类不类，设计模式，短平快，快速，简洁，优雅的实现目标是最重要的
- [技能][threejs] 透明材质，透明部分有时候显示为黑色
    - 如图所示
    - ![图片](https://htmldoc-1301049643.cos.ap-nanjing.myqcloud.com/%E5%9B%BE%E5%BA%8A/%E6%88%AA%E5%B1%8F2021-04-22%20%E4%B8%8B%E5%8D%882.17.22.png =800x600)
    - 解决方案 材质中加入depthWrite:false  
    ```
        const planeMaterial = new THREE.MeshBasicMaterial({  
            map:texture,  
            transparent:true,  
            side:THREE.DoubleSide,  
            depthWrite:false  
        });  
    ```
    - depthWrite: 的仔细理解, depthTest: 是否开启深度测试。depthWrite:这个材质渲染的时候，是否受到其他深度buffer的影响。threejs的透明渲染机制是从远到近的顺序进行渲染。depthWrite 可是控制渲染顺序。
- [想法] 看到很多地方都是体块地图，地图的需求还是很大的，我要做BIM+电纸书的地图方式，更直观
- [技能] svg如何设置基线, svg 的文本标签有 text 和 tspan
    - ```
    <text font-family="PingFangSC-Semibold, PingFang SC" font-size="22" font-weight="500" fill="#FFFFFF">
        <tspan alignment-baseline="hanging">总部楼1楼右侧扶梯</tspan>
    </text>
    ```
- [技能] svg的文字如何剧中？
    - 首先 用 text-anchor 和 dominant-baseline 把基线剧中 
    - ``` <text x="100" y="100" text-anchor="middle" dominant-baseline="middle">水平垂直居中</text> ```
    - 现在文字的00点在文字中心, 这时候 x 设置为宽度一半，y设置为高度一半，即可文字居中
- [任务] 查一下，灵活就业减税么
- [想法] 绝对不能用手机干任何办公的事情，太容易分心了

#### <a id="2021/04/23"></a>2021/04/23

- [任务] lv bug 能耗界面铺满
- [任务] 3d 手机的gallery(播放视频,手机页面)
- [任务] 14个电表-扶梯工厂有4个电表
- [任务] 能耗开头动画
- [任务] 电梯loading
- [任务] 能耗流动的速度太快
- 早会
    - 昨天
        - 电梯的标注，标注有点问题
        - 能耗的样式修改
    - 今天
        - 电梯标注

- [想法] 关于测试：产品经理测试整体功能，设计检验样式，测试人员测试所有的细节，每一条数据
- [想法] 电脑/平板/手机 这些都是成熟市场，VR是新兴市场，如果我想快速赚到钱，必须在成熟市场做东西。但是成熟市场中的产品已经很难去撼动，想做产品，必须在新兴市场。
- [想法] 办公应用用电脑，娱乐应用用手机，VR就是个游戏机
- [想法] 通过gitee修改

</script>











<meta charset="utf8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<script src="https://cdn.bootcdn.net/ajax/libs/showdown/1.9.1/showdown.js"></script>
<style>
    body{
        padding:60px;
    }
</style>
<div>
    <h4>统计:</h4>
    <h4>任务个数<span id="task-num">0</span></h4>
    <h4>想法个数<span id="idea-num">0</span></h4>
    <hr/>
</div>
<div id="textid"></div>
<script>
    window.onload = function(){
        let converter = new showdown.Converter();
        var o = document.getElementById("contentid").textContent;
        var taskArray = o.split("[任务]");
        console.log("taskArray:",taskArray);
        var taskNum = taskArray.length - 1;
        document.getElementById("task-num").innerHTML = taskNum;

        var ideaArray = o.split("[想法]");
        var ideaNum = ideaArray.length - 1;
        document.getElementById("idea-num").innerHTML = ideaNum;

        let html = converter.makeHtml(o);
        document.getElementById("textid").innerHTML = html;
    }
</script>